﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations.Schema;

namespace Universidad.Negocio.DomainModel
{
    [Table("InscripcionesMaterias")]
    public class InscripcionMateria
    {
        protected internal virtual IList<Nota> NotasInternas { get; set; }

        protected InscripcionMateria()
        {
        }

        public InscripcionMateria(DateTime fecha, Materia materia, Alumno alumno)
        {
            this.Fecha = fecha;
            this.Materia = materia;
            this.Alumno = alumno;
            this.NotasInternas = new List<Nota>();
        }

        public int Id { get; protected set; }

        public DateTime Fecha { get; protected set; }

        public virtual Materia Materia { get; protected set; }

        public virtual Alumno Alumno { get; protected set; }

        [NotMapped]
        public virtual ICollection<Nota> Notas { get { return this.NotasInternas; } }

        public void AgregarNota(Nota nota)
        {
            this.NotasInternas.Add(nota);
        }
    }
}
